The proliferation of virtual world applications has enhanced a multitude of technology fields, from film-making and video gaming to medical technology, business communications, and news broadcasting, collaborative virtual environments (CVEs), and broadcast media.
Scene recording in the virtual world is defined as the recording of all of the activities and backdrop in a virtual world application. In scene recording, the objective is to record all of the elements related to the virtual world activities occurring within the scene, such as the virtual objects within the scene, the avatars, the actions of the virtual objects, the actions of the avatars, and the relationships between the virtual objects and the avatars. Many other functions depend on scene recording. For example, scene recording acts as a history log in the virtual world (VW). This history log function enables the searching and replaying of the activities in scene recording. In scene recording, the VW servers must log the history of every activity of every avatar and every virtual object at every minute of every scene. This information is then saved and stored as snapshots. These activities are used by the core engines to send to virtual world clients. So the history snapshot module in a virtual world server is a virtual client. No avatar controls this virtual client. This virtual client is only used to save scene data from the core engine as snapshots. The virtual client may send some commands to the core engine, just like scene updating.
The core engines of virtual worlds handle many virtual objects. Just like FIG. 2, every virtual object maintains a finite state machine. Messages from users' clients and core engines are input to the finite state machine. These inputs make the states change to new states and output. These outputs are handled by a physics engine. Then the results are saved as attributes of virtual objects. So the inputs and attributes of virtual objects can be saved to support replaying later.
Live Broadcasting immersive 3D scene recording permits users to roam in the scene to watch the events unfold. Most live broadcasts are of the 3D format, restricting the user to watching a fixed picture of the scene at a certain time (a snapshot). Most of the information from the scene is lost upon broadcasting. But with immersive 3D scene recording, all of the information of a given scene is recorded, so that the scene can recur again and the user can watch the events unfold in different regions at the same time, or watch the news from different viewpoints. This kind of live broadcasting is of the 4D format. The drawback is that the viewpoint can't be changed once the scene is recorded. If the user wants to watch from another viewpoint, more video needs to be recorded, so the recorded information is redundant.
Halo3 and Evilavatar address this drawback. However, these are limited to saving film at the client end and can only save scenes in one player's view scope. It cannot save all status and objects of the virtual world at server end and users cannot choose any parts of scenes at any time to replay.
Some known technologies are related to virtual world scene recording. U.S. Pat. No. 6,724,385 entitled “Method of replaying game, recording medium, program, and entertainment system” describes a method of replaying a game, a recording medium, a program, and an entertainment system which makes it possible to replay images from various viewpoints when games of various genres are replayed. But in this method, the scene saving on the recording medium follows a video format and some special 3D information. And the viewing paths while replaying are fixed when recording. U.S. Pat. No. 7,221,366, entitled “Real-time rendering system and process for interactive viewpoint video” is directed toward a system and process for rendering and displaying an interactive viewpoint video in which a user can watch a dynamic scene while manipulating (freezing, slowing down, or reversing) time and changing the viewpoint at will. But this method only involves re-building a video scene based on multi-viewpoint videos. The viewpoint could not be changed once the scene is recorded. If the user wants to watch from a different viewpoint than that which has been recorded, more video needs to be recorded, so the recorded information is redundant.
Immersive 3D scene recording (sometimes referred to as “tele-immersion” in 3D) is live broadcasting of the four-dimensional (4D) format. It has a wide range of uses: from broadcasting information, teaching dance moves, and remote office collaboration, allowing the user to roam in a scene to watch the events happening from any viewpoint they want. With immersive 3D scene recording, all the information pertaining to a given scene is recorded, so the scene can recur again (be replayed), and the user can even watch the events unfold in different regions at the same time, or watch the news from different viewpoints. Immersive 3D scene recording is best described as scene recording that can be rendered and users can immerse themselves, via an avatar, into the rendered scene, and freely navigate within the scene. Immersive 3D scene recording can be used in news recording, such as CNN in virtual worlds, live news broadcasting, activities logging, and other scenes recording in virtual worlds. As an example, assume a user controls an avatar in an immersive 3D scene. The setting is a backyard pool party; therefore the scene includes: a pool, pool deck, lounge chairs, landscaping, a barbecue, patio tables, and patio chairs with food and drinks for the guests. The avatar can be “positioned” to “see” the scene from different viewpoints. The avatar can look out at the backyard pool, the avatar can sit at a table, the avatar can face the barbecue area.
Virtual Collaboration.
Halo3 includes some sophisticated replay functions, including post-recording camera view selection, called “Save Film”. (see http://www.the-laser.com/halo3_xbox360.htm and http://www.evilavatar.com/forums/showthread.php?t=32819&). It is however limited to “save film” at client end and can only save scenes in one player's view scope. It cannot save all status and objects of the virtual world at server end and users cannot choose any parts of scenes at any time to replay.